<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="StudentAcademicRecordType">
    <xs:annotation>
      <xs:documentation>This object conveys a student's academic record data for student record exchange and transcript purposes.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ReportingDate" type="xs:date">
        <xs:annotation>
          <xs:documentation>The date this record was prepared.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentSchoolEnrollmentData">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="GradeLevel" type="sif:GradeLevelType" />
            <xs:element name="Advisor" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StaffPersonalData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" type="sif:NameType" />
                        <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                        <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="Counselor" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StaffPersonalData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" type="sif:NameType" />
                        <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                        <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType">
            <xs:annotation>
              <xs:documentation>References the school of record for the student (see SchoolAttended).</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="DistrictEntryDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
        <xs:annotation>
          <xs:documentation>The date the student originally enrolled in the district of the school of record.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolAttendanceHistory">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SchoolAttended" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="LEAInfoData" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="LocalId" minOccurs="0" nillable="true" type="sif:LocalIdType" />
                        <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
                        <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
                        <xs:element name="LEAName" type="sif:LEANameType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="SchoolInfoData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="LocalId" type="sif:LocalIdType" />
                        <xs:element name="StateProvinceId" minOccurs="0" nillable="true" type="sif:StateProvinceIdType" />
                        <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
                        <xs:element name="SchoolName" type="sif:SchoolNameType" />
                        <xs:element name="SchoolURL" minOccurs="0" nillable="true" type="sif:SchoolURLType" />
                        <xs:element name="SchoolContactList" minOccurs="0" nillable="true" type="sif:SchoolContactListType" />
                        <xs:element name="AddressList" minOccurs="0" nillable="true" type="sif:AddressListType" />
                        <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="sif:PhoneNumberListType" />
                        <xs:element name="IdentificationInfoList" minOccurs="0" nillable="true" type="sif:IdentificationInfoListType" />
                        <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="AccreditingBody" minOccurs="0" nillable="true" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>Accrediting body for the school.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="MarkingSystems" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="MarkValueInfoData" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="Name" type="xs:string">
                                <xs:annotation>
                                  <xs:documentation>The text name of the value list ("Letter Grades", "Letter Grades (+/-)", "ESU", "Pass/Fail", "Override Grades", "Citizenship Comment Codes", etc.).</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                              <xs:element name="Percentage" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:decimal">
                                      <xs:annotation>
                                        <xs:documentation>The minimum percent value accepted for this mark.  If present, the publisher of this object is required to ensure that any values present in the StudentSectionMarks object will not be lower than this value.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:decimal">
                                      <xs:annotation>
                                        <xs:documentation>The maximum percent value accepted for this mark.  If present, the publisher of this object is required to ensure that any values present in the StudentSectionMarks object will not be higher than this value.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="Numeric" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Precision" minOccurs="0" nillable="true" type="xs:unsignedInt">
                                      <xs:annotation>
                                        <xs:documentation>Number of significant digits.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Scale" minOccurs="0" nillable="true" type="xs:unsignedInt">
                                      <xs:annotation>
                                        <xs:documentation>Number of decimal places.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Low" minOccurs="0" nillable="true" type="xs:decimal">
                                      <xs:annotation>
                                        <xs:documentation>Lowest Mark in the range (e.g., 98, 3.95).</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                    <xs:element name="High" minOccurs="0" nillable="true" type="xs:decimal">
                                      <xs:annotation>
                                        <xs:documentation>Highest Mark in the range (e.g., 100, 4.0).</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="Letter" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="ValidMark" maxOccurs="unbounded">
                                      <xs:complexType>
                                        <xs:sequence>
                                          <xs:element name="Code" type="xs:token">
                                            <xs:annotation>
                                              <xs:documentation>String representing the actual Mark that would appear on the report card (e.g., "A+", "I", "100").</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="NumericEquivalent" minOccurs="0" nillable="true" type="xs:decimal">
                                            <xs:annotation>
                                              <xs:documentation>Numeric equivalent for the Mark (e.g., 100, 4.0).</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
                                            <xs:annotation>
                                              <xs:documentation>The description for this code. (e.g. "Excellent", "Participates in Class", "Incomplete", etc...).</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                        </xs:sequence>
                                      </xs:complexType>
                                    </xs:element>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="Narrative" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="MaximumSize" minOccurs="0" nillable="true" type="xs:unsignedInt">
                                      <xs:annotation>
                                        <xs:documentation>An integer value representing the maximum number of Unicode characters for the narrative, the UTF-8 encoding of which may be longer.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                            <xs:attribute name="RefId" use="required" type="sif:RefIdType">
                              <xs:annotation>
                                <xs:documentation>ID used internally to StudentAcademicRecord to link marks to their marking systems.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="RefId" use="required" type="sif:RefIdType">
                  <xs:annotation>
                    <xs:documentation>ID used internally to StudentAcademicRecord to avoid duplication of school-related data.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="EnrollmentHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StudentSchoolEnrollmentData" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
                  <xs:element name="EntryDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                  <xs:element name="ExitDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                    <xs:annotation>
                      <xs:documentation>Note: Mandatory if student exited school.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType">
                  <xs:annotation>
                    <xs:documentation>Reference to SchoolAttended.</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CurrentCourseActivity" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TermInfoData">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
                  <xs:element name="StartDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                  <xs:element name="EndDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                  <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                  <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                </xs:sequence>
                <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType">
                  <xs:annotation>
                    <xs:documentation>Reference to the school of record for the courses being taken (see SchoolAttended).</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
            <xs:element name="Courses">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Course" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="sif:IdRefType">
                          <xs:annotation>
                            <xs:documentation>
								Reference to the school where the course is being taken (see SchoolAttended); may be omitted if the school is the same as the school of record.
							</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                        <xs:element name="SchoolCourseInfoData">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="CourseCode" minOccurs="0" nillable="true" type="sif:CourseCodeType" />
                              <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="sif:StateCourseCodeType" />
                              <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="sif:DistrictCourseCodeType" />
                              <xs:element name="NationalCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                              <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="sif:SubjectAreaListType" />
                              <xs:element name="CourseTitle" minOccurs="0" nillable="true" type="sif:CourseTitleType" />
                              <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                              <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType" />
                              <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true" type="xs:boolean" />
                              <xs:element name="GraduationRequirement" minOccurs="0" nillable="true" type="sif:GraduationRequirementType" />
                              <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString" />
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="StartDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                          <xs:annotation>
                            <xs:documentation>Date course section started.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                        <xs:element name="EndDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                          <xs:annotation>
                            <xs:documentation>Date course section ended, or will end.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                        <xs:element name="MarkingPeriod">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="TermInfoData" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="StartDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                                    <xs:element name="EndDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                                    <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                                    <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                    <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                    <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="GradeLevelWhenTaken" minOccurs="0" nillable="true" type="sif:GradeLevelType">
                                <xs:annotation>
                                  <xs:documentation>Student's grade level at time of course.</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                              <xs:element name="MarkData" minOccurs="0" nillable="true">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="Percentage" minOccurs="0" nillable="true" type="xs:decimal">
                                      <xs:annotation>
                                        <xs:documentation>The percent score for this mark (0.00 - 100.00).</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Numeric" minOccurs="0" nillable="true" type="xs:unsignedInt">
                                      <xs:annotation>
                                        <xs:documentation>The raw numeric score for this mark.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:normalizedString">
                                      <xs:annotation>
                                        <xs:documentation>The letter grade for this mark.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string">
                                      <xs:annotation>
                                        <xs:documentation>The free form text narrative for this mark.</xs:documentation>
                                      </xs:annotation>
                                    </xs:element>
                                  </xs:sequence>
                                  <xs:attribute name="MarkValueInfoDataRefId" use="required" type="sif:IdRefType">
                                    <xs:annotation>
                                      <xs:documentation>Reference to marking system at school of record.</xs:documentation>
                                    </xs:annotation>
                                  </xs:attribute>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="CourseCreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal">
                                <xs:annotation>
                                  <xs:documentation>Number of course credits attempted.</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CourseHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Term" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="TermInfoData">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
                        <xs:element name="StartDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                        <xs:element name="EndDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                        <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                        <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                      </xs:sequence>
                      <xs:attribute name="SchoolAttendedRefId" use="required" type="sif:IdRefType">
                        <xs:annotation>
                          <xs:documentation>Reference to the school of record for the time span (see SchoolAttended).</xs:documentation>
                        </xs:annotation>
                      </xs:attribute>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="Courses" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Course" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="sif:IdRefType">
                                <xs:annotation>
                                  <xs:documentation>
								Reference to the school where the course was taken (see SchoolAttended); may be omitted if the school is the same as the school of record.
							</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                              <xs:element name="SchoolCourseInfoData">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="CourseCode" minOccurs="0" nillable="true" type="sif:CourseCodeType" />
                                    <xs:element name="StateCourseCode" minOccurs="0" nillable="true" type="sif:StateCourseCodeType" />
                                    <xs:element name="DistrictCourseCode" minOccurs="0" nillable="true" type="sif:DistrictCourseCodeType" />
                                    <xs:element name="NationalCourseCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                    <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="sif:SubjectAreaListType" />
                                    <xs:element name="CourseTitle" minOccurs="0" nillable="true" type="sif:CourseTitleType" />
                                    <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                                    <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType" />
                                    <xs:element name="CoreAcademicCourse" minOccurs="0" nillable="true" type="xs:boolean" />
                                    <xs:element name="GraduationRequirement" minOccurs="0" nillable="true" type="sif:GraduationRequirementType" />
                                    <xs:element name="Department" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="StartDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                                <xs:annotation>
                                  <xs:documentation>Date course section started.</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                              <xs:element name="EndDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                                <xs:annotation>
                                  <xs:documentation>Date course section ended.</xs:documentation>
                                </xs:annotation>
                              </xs:element>
                              <xs:element name="MarkingPeriods">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="MarkingPeriod" maxOccurs="unbounded">
                                      <xs:complexType>
                                        <xs:sequence>
                                          <xs:element name="SchoolAttendedRefId" minOccurs="0" nillable="true" type="sif:IdRefType">
                                            <xs:annotation>
                                              <xs:documentation>
								Reference to the school where student took the course during the marking period, if different from schools above.
							</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="TermInfoData" minOccurs="0" nillable="true">
                                            <xs:complexType>
                                              <xs:sequence>
                                                <xs:element name="StartDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                                                <xs:element name="EndDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                                                <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                                                <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                                <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                                                <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                                              </xs:sequence>
                                            </xs:complexType>
                                          </xs:element>
                                          <xs:element name="GradeLevelWhenTaken" minOccurs="0" nillable="true" type="sif:GradeLevelType">
                                            <xs:annotation>
                                              <xs:documentation>Student's grade level at time of course.</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="MarkData" minOccurs="0" nillable="true">
                                            <xs:complexType>
                                              <xs:sequence>
                                                <xs:element name="Percentage" minOccurs="0" nillable="true" type="xs:decimal">
                                                  <xs:annotation>
                                                    <xs:documentation>The percent score for this mark (0.00 - 100.00).</xs:documentation>
                                                  </xs:annotation>
                                                </xs:element>
                                                <xs:element name="Numeric" minOccurs="0" nillable="true" type="xs:unsignedInt">
                                                  <xs:annotation>
                                                    <xs:documentation>The raw numeric score for this mark.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:element>
                                                <xs:element name="Letter" minOccurs="0" nillable="true" type="xs:normalizedString">
                                                  <xs:annotation>
                                                    <xs:documentation>The letter grade for this mark.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:element>
                                                <xs:element name="Narrative" minOccurs="0" nillable="true" type="xs:string">
                                                  <xs:annotation>
                                                    <xs:documentation>The free form text narrative for this mark.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:element>
                                              </xs:sequence>
                                              <xs:attribute name="MarkValueInfoDataRefId" use="required" type="sif:IdRefType">
                                                <xs:annotation>
                                                  <xs:documentation>Reference to marking system at school of record.</xs:documentation>
                                                </xs:annotation>
                                              </xs:attribute>
                                            </xs:complexType>
                                          </xs:element>
                                          <xs:element name="CourseCreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal">
                                            <xs:annotation>
                                              <xs:documentation>Number of course credits attempted.</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="CourseCreditsEarned" minOccurs="0" nillable="true" type="xs:decimal">
                                            <xs:annotation>
                                              <xs:documentation>Number of course credits earned.</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="CreditType" minOccurs="0" nillable="true" type="sif:NCES0108CreditTypeEarnedType">
                                            <xs:annotation>
                                              <xs:documentation>Type of credit.</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="ExcessiveAbsenceIndicator" minOccurs="0" nillable="true" type="xs:boolean">
                                            <xs:annotation>
                                              <xs:documentation>Flag indicating that the student was excessively absent from the class.</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="DaysAbsent" minOccurs="0" nillable="true" type="xs:decimal">
                                            <xs:annotation>
                                              <xs:documentation>Number of days absent.</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                          <xs:element name="DaysPresent" minOccurs="0" nillable="true" type="xs:decimal">
                                            <xs:annotation>
                                              <xs:documentation>Number of days present.</xs:documentation>
                                            </xs:annotation>
                                          </xs:element>
                                        </xs:sequence>
                                      </xs:complexType>
                                    </xs:element>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AcademicPerformanceHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TermPerformance" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="TermInfoData" minOccurs="0" nillable="true">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="SchoolYear" minOccurs="0" nillable="true" type="sif:SchoolYearType" />
                        <xs:element name="StartDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                        <xs:element name="EndDate" minOccurs="0" nillable="true" type="sif:PartialDateType" />
                        <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                        <xs:element name="TermCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="Track" minOccurs="0" nillable="true" type="xs:normalizedString" />
                        <xs:element name="TermSpan" minOccurs="0" nillable="true" type="sif:TermSpanType" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="GradeLevelWhenTaken" minOccurs="0" nillable="true" type="sif:GradeLevelType">
                    <xs:annotation>
                      <xs:documentation>Student's grade level at time.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="CreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Number of credits attempted.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="CreditsEarned" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Number of credits earned.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="GPACreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Number of GPA credits attempted.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="GPACreditsEarned" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Number of GPA credits earned.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="GPAGradePoints" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Number of GPA points received.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="GPA" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Grade point average for term.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="WeightedGPA" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Weighted grade point average for term.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="DaysAbsent" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Number of days absent.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="DaysPresent" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Number of days present.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AcademicPerformanceSummary">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TotalCreditsAttempted" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>Total credits attempted during academic career.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="TotalCreditsEarned" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>Total credits earned during academic career.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="CumulativeGPACreditsEarned" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>Cumulative number of GPA credits earned during academic career.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="CumulativeGradePoints" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>Cumulative number of grade points earned during academic career.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="CumulativeGPA" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>Cumulative grade point average for academic career.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="GPAType" minOccurs="0" nillable="true" type="xs:normalizedString">
              <xs:annotation>
                <xs:documentation>Brief name/description of type of GPA.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ClassRank" minOccurs="0" nillable="true" type="xs:unsignedInt">
              <xs:annotation>
                <xs:documentation>Student's rank in graduating class.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ClassTotalNumber" minOccurs="0" nillable="true" type="xs:unsignedInt">
              <xs:annotation>
                <xs:documentation>Total number of students in student's graduating class.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ClassRankingDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
              <xs:annotation>
                <xs:documentation>Date class ranking was determined.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ProjectedGraduationDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
              <xs:annotation>
                <xs:documentation>Projected graduation date.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="GraduationDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
              <xs:annotation>
                <xs:documentation>Note: Mandatory if graduated.  Graduation date.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="GraduationDiplomaType" minOccurs="0" nillable="true" type="xs:normalizedString">
              <xs:annotation>
                <xs:documentation>Note: Mandatory if graduated.  Type of diploma earned.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="AcademicTrack" minOccurs="0" nillable="true" type="sif:NCES0106CourseInstructionalLevelType">
              <xs:annotation>
                <xs:documentation>An indication of the general nature and difficulty of instruction provided throughout a course.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="AcademicFoci" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="AcademicFocus" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Code" type="sif:NCES0229ProgramTypeType">
                          <xs:annotation>
                            <xs:documentation>A code to depict the focus of the educational program (replaces deprecated AcademicTrack.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                        <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType">
                          <xs:annotation>
                            <xs:documentation>Alternate codes indicating the general nature and difficulty of the educational program.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="AcademicSubjects" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="AcademicSubject" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Code" type="sif:NCES0373PostsecondarySubjectMatterAreaType">
                          <xs:annotation>
                            <xs:documentation>A code to depict an academic or vocational discipline studied by an individual in an educational program (based on NCES CIP 2000).</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                        <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType">
                          <xs:annotation>
                            <xs:documentation>Alternate codes for an academic or vocational discipline studied by an individual in an educational program. </xs:documentation>
                          </xs:annotation>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AssessmentPerformanceHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Assessment" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>Textual description of assessment.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="AdministrationDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                    <xs:annotation>
                      <xs:documentation>Date the assessment was administered.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Form" minOccurs="0" nillable="true" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>Form, version or edition of the test.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Level" minOccurs="0" nillable="true" type="xs:string">
                    <xs:annotation>
                      <xs:documentation>Free-form text description of the level of the test.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="StudentGradeLevelWhenAssessed" minOccurs="0" nillable="true" type="sif:GradeLevelType">
                    <xs:annotation>
                      <xs:documentation>Student's grade level when assessed.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="SubtestCategory" minOccurs="0" nillable="true" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>The subtest or subject category of the assessment.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="TestScoreType" minOccurs="0" nillable="true" type="sif:NCES0056AssessmentReportingMethodType">
                    <xs:annotation>
                      <xs:documentation>Type of test score.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="TestScore" minOccurs="0" nillable="true" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>Test score.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdditionalGraduationRequirementPerformanceHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Requirement" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>Textual description of the requirement.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Method" minOccurs="0" nillable="true" type="xs:string">
                    <xs:annotation>
                      <xs:documentation>The method by which the requirement was met.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Status">
                    <xs:annotation>
                      <xs:documentation>Student's status with regard to the requirement.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="Met" />
                        <xs:enumeration value="Not Met" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="StatusDeterminationDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                    <xs:annotation>
                      <xs:documentation>Date the student's status was determined.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ActivityAwardHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ActivityAward" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>The title that identifies a particular co-curricular or extra-curricular activity.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="InvolvementCode" minOccurs="0" nillable="true" type="sif:NCES0679ActivityInvolvementCodeType">
                    <xs:annotation>
                      <xs:documentation>The code used to identify the co-curricular or extra-curricular activity in which the individual is involved.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="InvolvementBeginningDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                    <xs:annotation>
                      <xs:documentation>The month, day, and year on which the individual began to participate in the activity.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="InvolvementEndingDate" minOccurs="0" nillable="true" type="sif:PartialDateType">
                    <xs:annotation>
                      <xs:documentation>The month, day, and year on which the individual ceased to participate in the activity.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="InvolvementAmount" minOccurs="0" nillable="true" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>An indication of the degree to which the individual is involved in the activity (e.g., number of hours per week).</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="HonorsInformationCode" minOccurs="0" nillable="true" type="sif:NCES0674HonorsTypeType">
                    <xs:annotation>
                      <xs:documentation>A designation of the type of academic distinctions or other honors earned by or awarded to the student.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="HonorsDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>A textual description of the distinction or honor.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="DiplomaCredentialHonorsCode" minOccurs="0" nillable="true" type="sif:NCES0684DiplomaCredentialLevelAndHonorsType">
                    <xs:annotation>
                      <xs:documentation>The nature of recognition given the student for the successful completion of work in high school.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="DiplomaCredentialHonorsDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>A textual description of the recognition.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>The ID (GUID) of this record.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="SIF_RefId" use="required" type="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>
								The GUID of an associated object, either StudentRecordExchange or StudentPersonal.
							</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:annotation>
        <xs:documentation>
								The associated object type.
							</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="StudentRecordExchange" />
          <xs:enumeration value="StudentPersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="StudentAcademicRecord" type="sif:StudentAcademicRecordType" />

</xs:schema>